package gjbsh.bangong.ds.model;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

public class 单位流动站Example {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public 单位流动站Example() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria and单位流动站idIsNull() {
            addCriterion("单位_流动站ID is null");
            return (Criteria) this;
        }

        public Criteria and单位流动站idIsNotNull() {
            addCriterion("单位_流动站ID is not null");
            return (Criteria) this;
        }

        public Criteria and单位流动站idEqualTo(String value) {
            addCriterion("单位_流动站ID =", value, "单位流动站id");
            return (Criteria) this;
        }

        public Criteria and单位流动站idNotEqualTo(String value) {
            addCriterion("单位_流动站ID <>", value, "单位流动站id");
            return (Criteria) this;
        }

        public Criteria and单位流动站idGreaterThan(String value) {
            addCriterion("单位_流动站ID >", value, "单位流动站id");
            return (Criteria) this;
        }

        public Criteria and单位流动站idGreaterThanOrEqualTo(String value) {
            addCriterion("单位_流动站ID >=", value, "单位流动站id");
            return (Criteria) this;
        }

        public Criteria and单位流动站idLessThan(String value) {
            addCriterion("单位_流动站ID <", value, "单位流动站id");
            return (Criteria) this;
        }

        public Criteria and单位流动站idLessThanOrEqualTo(String value) {
            addCriterion("单位_流动站ID <=", value, "单位流动站id");
            return (Criteria) this;
        }

        public Criteria and单位流动站idLike(String value) {
            addCriterion("单位_流动站ID like", value, "单位流动站id");
            return (Criteria) this;
        }

        public Criteria and单位流动站idNotLike(String value) {
            addCriterion("单位_流动站ID not like", value, "单位流动站id");
            return (Criteria) this;
        }

        public Criteria and单位流动站idIn(List<String> values) {
            addCriterion("单位_流动站ID in", values, "单位流动站id");
            return (Criteria) this;
        }

        public Criteria and单位流动站idNotIn(List<String> values) {
            addCriterion("单位_流动站ID not in", values, "单位流动站id");
            return (Criteria) this;
        }

        public Criteria and单位流动站idBetween(String value1, String value2) {
            addCriterion("单位_流动站ID between", value1, value2, "单位流动站id");
            return (Criteria) this;
        }

        public Criteria and单位流动站idNotBetween(String value1, String value2) {
            addCriterion("单位_流动站ID not between", value1, value2, "单位流动站id");
            return (Criteria) this;
        }

        public Criteria and单位idIsNull() {
            addCriterion("单位ID is null");
            return (Criteria) this;
        }

        public Criteria and单位idIsNotNull() {
            addCriterion("单位ID is not null");
            return (Criteria) this;
        }

        public Criteria and单位idEqualTo(String value) {
            addCriterion("单位ID =", value, "单位id");
            return (Criteria) this;
        }

        public Criteria and单位idNotEqualTo(String value) {
            addCriterion("单位ID <>", value, "单位id");
            return (Criteria) this;
        }

        public Criteria and单位idGreaterThan(String value) {
            addCriterion("单位ID >", value, "单位id");
            return (Criteria) this;
        }

        public Criteria and单位idGreaterThanOrEqualTo(String value) {
            addCriterion("单位ID >=", value, "单位id");
            return (Criteria) this;
        }

        public Criteria and单位idLessThan(String value) {
            addCriterion("单位ID <", value, "单位id");
            return (Criteria) this;
        }

        public Criteria and单位idLessThanOrEqualTo(String value) {
            addCriterion("单位ID <=", value, "单位id");
            return (Criteria) this;
        }

        public Criteria and单位idLike(String value) {
            addCriterion("单位ID like", value, "单位id");
            return (Criteria) this;
        }

        public Criteria and单位idNotLike(String value) {
            addCriterion("单位ID not like", value, "单位id");
            return (Criteria) this;
        }

        public Criteria and单位idIn(List<String> values) {
            addCriterion("单位ID in", values, "单位id");
            return (Criteria) this;
        }

        public Criteria and单位idNotIn(List<String> values) {
            addCriterion("单位ID not in", values, "单位id");
            return (Criteria) this;
        }

        public Criteria and单位idBetween(String value1, String value2) {
            addCriterion("单位ID between", value1, value2, "单位id");
            return (Criteria) this;
        }

        public Criteria and单位idNotBetween(String value1, String value2) {
            addCriterion("单位ID not between", value1, value2, "单位id");
            return (Criteria) this;
        }

        public Criteria and一级学科idIsNull() {
            addCriterion("一级学科ID is null");
            return (Criteria) this;
        }

        public Criteria and一级学科idIsNotNull() {
            addCriterion("一级学科ID is not null");
            return (Criteria) this;
        }

        public Criteria and一级学科idEqualTo(String value) {
            addCriterion("一级学科ID =", value, "一级学科id");
            return (Criteria) this;
        }

        public Criteria and一级学科idNotEqualTo(String value) {
            addCriterion("一级学科ID <>", value, "一级学科id");
            return (Criteria) this;
        }

        public Criteria and一级学科idGreaterThan(String value) {
            addCriterion("一级学科ID >", value, "一级学科id");
            return (Criteria) this;
        }

        public Criteria and一级学科idGreaterThanOrEqualTo(String value) {
            addCriterion("一级学科ID >=", value, "一级学科id");
            return (Criteria) this;
        }

        public Criteria and一级学科idLessThan(String value) {
            addCriterion("一级学科ID <", value, "一级学科id");
            return (Criteria) this;
        }

        public Criteria and一级学科idLessThanOrEqualTo(String value) {
            addCriterion("一级学科ID <=", value, "一级学科id");
            return (Criteria) this;
        }

        public Criteria and一级学科idLike(String value) {
            addCriterion("一级学科ID like", value, "一级学科id");
            return (Criteria) this;
        }

        public Criteria and一级学科idNotLike(String value) {
            addCriterion("一级学科ID not like", value, "一级学科id");
            return (Criteria) this;
        }

        public Criteria and一级学科idIn(List<String> values) {
            addCriterion("一级学科ID in", values, "一级学科id");
            return (Criteria) this;
        }

        public Criteria and一级学科idNotIn(List<String> values) {
            addCriterion("一级学科ID not in", values, "一级学科id");
            return (Criteria) this;
        }

        public Criteria and一级学科idBetween(String value1, String value2) {
            addCriterion("一级学科ID between", value1, value2, "一级学科id");
            return (Criteria) this;
        }

        public Criteria and一级学科idNotBetween(String value1, String value2) {
            addCriterion("一级学科ID not between", value1, value2, "一级学科id");
            return (Criteria) this;
        }

        public Criteria and建站年份IsNull() {
            addCriterion("建站年份 is null");
            return (Criteria) this;
        }

        public Criteria and建站年份IsNotNull() {
            addCriterion("建站年份 is not null");
            return (Criteria) this;
        }

        public Criteria and建站年份EqualTo(BigDecimal value) {
            addCriterion("建站年份 =", value, "建站年份");
            return (Criteria) this;
        }

        public Criteria and建站年份NotEqualTo(BigDecimal value) {
            addCriterion("建站年份 <>", value, "建站年份");
            return (Criteria) this;
        }

        public Criteria and建站年份GreaterThan(BigDecimal value) {
            addCriterion("建站年份 >", value, "建站年份");
            return (Criteria) this;
        }

        public Criteria and建站年份GreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("建站年份 >=", value, "建站年份");
            return (Criteria) this;
        }

        public Criteria and建站年份LessThan(BigDecimal value) {
            addCriterion("建站年份 <", value, "建站年份");
            return (Criteria) this;
        }

        public Criteria and建站年份LessThanOrEqualTo(BigDecimal value) {
            addCriterion("建站年份 <=", value, "建站年份");
            return (Criteria) this;
        }

        public Criteria and建站年份In(List<BigDecimal> values) {
            addCriterion("建站年份 in", values, "建站年份");
            return (Criteria) this;
        }

        public Criteria and建站年份NotIn(List<BigDecimal> values) {
            addCriterion("建站年份 not in", values, "建站年份");
            return (Criteria) this;
        }

        public Criteria and建站年份Between(BigDecimal value1, BigDecimal value2) {
            addCriterion("建站年份 between", value1, value2, "建站年份");
            return (Criteria) this;
        }

        public Criteria and建站年份NotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("建站年份 not between", value1, value2, "建站年份");
            return (Criteria) this;
        }

        public Criteria and备注IsNull() {
            addCriterion("备注 is null");
            return (Criteria) this;
        }

        public Criteria and备注IsNotNull() {
            addCriterion("备注 is not null");
            return (Criteria) this;
        }

        public Criteria and备注EqualTo(String value) {
            addCriterion("备注 =", value, "备注");
            return (Criteria) this;
        }

        public Criteria and备注NotEqualTo(String value) {
            addCriterion("备注 <>", value, "备注");
            return (Criteria) this;
        }

        public Criteria and备注GreaterThan(String value) {
            addCriterion("备注 >", value, "备注");
            return (Criteria) this;
        }

        public Criteria and备注GreaterThanOrEqualTo(String value) {
            addCriterion("备注 >=", value, "备注");
            return (Criteria) this;
        }

        public Criteria and备注LessThan(String value) {
            addCriterion("备注 <", value, "备注");
            return (Criteria) this;
        }

        public Criteria and备注LessThanOrEqualTo(String value) {
            addCriterion("备注 <=", value, "备注");
            return (Criteria) this;
        }

        public Criteria and备注Like(String value) {
            addCriterion("备注 like", value, "备注");
            return (Criteria) this;
        }

        public Criteria and备注NotLike(String value) {
            addCriterion("备注 not like", value, "备注");
            return (Criteria) this;
        }

        public Criteria and备注In(List<String> values) {
            addCriterion("备注 in", values, "备注");
            return (Criteria) this;
        }

        public Criteria and备注NotIn(List<String> values) {
            addCriterion("备注 not in", values, "备注");
            return (Criteria) this;
        }

        public Criteria and备注Between(String value1, String value2) {
            addCriterion("备注 between", value1, value2, "备注");
            return (Criteria) this;
        }

        public Criteria and备注NotBetween(String value1, String value2) {
            addCriterion("备注 not between", value1, value2, "备注");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}